<html>
<head>
    <title>SQL检查结果 - #date(bill.xDate, "yyyy-MM-dd") - #switch(bill.xStatus) #case(0) 不需要处理 #case(1) 待处理 #case(2) 已处理 #case(3) 已拒绝 #end</title>
    <style type="text/css">
        table.gradienttable {
            font-family: verdana, arial, sans-serif;
            border-width: 3px;
            border-collapse: collapse;
            width: 100%;
        }
        
        table.gradienttable th {
            padding: 3px;
            color: #FFFFFF;
            background: #000066;
            font-size: 12px;
        }
        
        table.gradienttable td {
            padding: 3px;
            color: #000000;
            font-size: 11px;
            background: #ebecda;
            text-align: center;
        }
        
        table.gradienttable th p {
            margin: 3px;
            padding: 9px;
        }
        
        table.gradienttable td p {
            padding: 9px;
        }
    </style>
    <script type="text/javascript">
        
        function mark(mID,dID){
            // 使用 fetch API 发起请求
            fetch('/sqlchecker/dealItem?id=' + mID + '&dID=' + dID + '&status=2')
                .then(response => {
                    if (!response.ok) {
                        throw new Error('Network response was not ok');
                    }
                    return response.text(); // 或者 response.json() 如果返回的是 JSON 数据
                })
                .then(data => {
                    // 处理成功响应
                    //alert('标记成功');
                    window.location.reload();
                })
                .catch(error => {
                    // 处理错误响应
                    alert('标记失败');
                });
        }

        
        function markduplicate(mID,dID){
            // 使用 fetch API 发起请求
            fetch('/sqlchecker/dealDuplicate?id=' + mID + '&dID=' + dID + '&status=2')
                .then(response => {
                    if (!response.ok) {
                        throw new Error('Network response was not ok');
                    }
                    return response.text(); // 或者 response.json() 如果返回的是 JSON 数据
                })
                .then(data => {
                    // 处理成功响应
                    //alert('标记成功');
                    window.location.reload();
                })
                .catch(error => {
                    // 处理错误响应
                    alert('标记失败');
                });
        }
    </script>
</head>
<body>


<div style="margin-top:2em;margin-bottom:2em;">
    <h1>检查信息</h1>
    <table class="gradienttable" border="1" style="width:100%;line-height:2em;">
        <tr>
            <th style="width:7em;">ID</th>
            <th style="width:6em;">检查日期</th>
            <th style="width:12em;">ERP版本基线</th>
            <th style="width:12em;">开始时间</th>
            <th style="width:12em;">结束时间</th>
            <th style="width:3em;">文件数</th>
            <th style="width:4em;">检查结果</th>
            <th style="width:4em;">提示个数</th>
            <th style="width:4em;">警告个数</th>
            <th style="width:4em;">错误个数</th>
            <th style="width:5em;">状态</th>
            <th style="width:12em;">开始检查</th>
            <th style="width:12em;">完成检查</th>
            <th style="width:7em;">初始化耗时s</th>
            <th style="width:7em;">复制脚本耗时s</th>
            <th style="width:4em;">总耗时s</th>
        </tr>
        <tr>
            <td #if(bill.xStatus==1) style="color: white;background-color: red;" #end><a href="/sqlchecker/show?mID=#(bill.sID)&billtype=0&status=-1&level=0&owner=&text=&tag=0" target="_blank">#(bill.sID)</a></td>
            <td>#date(bill.xDate, "yyyy-MM-dd")</td>
            <td>#date(bill.xERPDBVersion, "yyyy-MM-dd HH:mm:ss")</td>
            <td>#date(bill.xBeginTime, "yyyy-MM-dd HH:mm:ss")</td>
            <td>#date(bill.xEndTime, "yyyy-MM-dd HH:mm:ss")</td>
            <td>#(bill.xFileCnt)</td>
            <td>#if(bill.xIsOK) OK #else 异常 #end</td>
            <td>#(bill.xInfoCnt)</td>
            <td>#(bill.xWarnCnt)</td>
            <td>#(bill.xErrorCnt)</td>
            <td #if(bill.xStatus==1) style="color: white;background-color: red;" #end>#switch(bill.xStatus) #case(0) 不需要处理 #case(1) 待处理 #case(2) 已处理 #case(3) 拒绝 #end</td>
            <td>#date(bill.xStartTime, "yyyy-MM-dd HH:mm:ss")</td>
            <td>#date(bill.xFinishTime, "yyyy-MM-dd HH:mm:ss")</td>
            <td>#number(bill.xInitCost * 1.0 / 1000, "0.#")</td>
            <td>#number(bill.xCopyCost * 1.0 / 1000, "0.#")</td>
            <td>#number(bill.xCost * 1.0 / 1000, "0.#")</td>
        </tr>
    </table>

    

</div>

<div style="margin-top:2em;margin-bottom:2em;">
    <h1>提交冲突</h1>
    <table class="gradienttable" border="1" style="line-height:2em;width:64em;">
        <tr>
            <th style="width:4em;">序号</th>
            <th style="width:8em;">提交日期</th>
            <th style="width:16em;">对象名称</th>
            <th style="width:36em;">冲突信息</th>
            <!--<th style="width:6em;">状态</th>-->
        </tr>
        #for(data : duplicates)
            <tr>
                <td>#(data.dID)</td>
                <td>#date(data.xDate, "yyyy-MM-dd")</td>
                <td style="text-align:left;">#(data.xObjectName)</td>
                <td style="text-align:left;">#(data.xMsg)</td>
                <!--
                <td style="text-align:center;">#if(data.xStatus??) #switch(data.xStatus) #case(2) 已处理 #default <a href="#" onclick="markduplicate(#(data.mID),#(data.dID))"> 未处理 </a> #end #end  </td>
                -->
            </tr>
        #end
    </table>
</div>

<div style="margin-top:2em;margin-bottom:2em;">
    <h1>检查明细</h1>
    <div style="text-align:right;font-size:1em;">
        <form action="/sqlchecker/show?mID=#(mID)" method="get" style="text-align:left;">
            <input type="hidden" name="mID" value="#(mID)"></input>
            <p>
                <!-- 加个标题 -->
                <span>
                    <label>状态:</label>
                    <label><input type="radio" name="status" value="-1" #if(status==-1)checked#end>全部</label>
                    <label><input type="radio" name="status" value="0" #if(status==0)checked#end>不需要处理</label>
                    <label><input type="radio" name="status" value="1" #if(status==1)checked#end>待处理</label>
                    <label><input type="radio" name="status" value="2" #if(status==2)checked#end>已处理</label>
                    <label><input type="radio" name="status" value="3" #if(status==3)checked#end>拒绝</label>
                </span>
                <span style="width:5em;">&nbsp;</span><span style="width:5em;">&nbsp;</span><span style="width:5em;">&nbsp;</span><span style="width:5em;">&nbsp;</span><span style="width:5em;">&nbsp;</span><span style="width:5em;">&nbsp;</span>
                <span>
                    <label>选项:</label>
                    <label><input type="radio" name="tag" value="0" #if(tag==0)checked#end>全部</label>
                    <label><input type="radio" name="tag" value="1" #if(tag==1)checked#end>有异常</label>
                    <label><input type="radio" name="tag" value="2" #if(tag==2)checked#end>无异常</label>
                </span>
            </p>
            <p>
                <label>提交人</label>
                <select name="owner" style="width:12em;">
                    <option value="">全部</option>
                    #for(man : mans)
                        #if(man.xAlias??)<option value="#(man.xAlias)" #if(owner==man.xAlias) selected="selected" #end>#(man.xAlias) - #(man.xName)</option>#end
                    #end
                </select>
                <span style="width:5em;">&nbsp;</span><span style="width:5em;">&nbsp;</span><span style="width:5em;">&nbsp;</span><span style="width:5em;">&nbsp;</span><span style="width:5em;">&nbsp;</span><span style="width:5em;">&nbsp;</span>
                <label>名称</label>
                <input type="text" name="text" value="#(text)" style="width:12em;"></input>
            </p>
            <p style="text-align:left;">
                <button type="submit" style="height:5em;width:7em;">查询</button>&nbsp;
            </p>
        </form>

    </div>
    <table class="gradienttable" border="1" style="width:100%;line-height:2em;">
        <tr>
            <th style="width:4em;">序号</th>
            <th style="width:6em;">文件名</th>
            <th style="width:12em;">对象名称</th>
            <th style="width:6em;">提交日期</th>
            <th style="width:11em;">最后修改时间</th>
            <th style="width:5em;">文件编码</th>
            <th style="width:5em;">提交人</th>
            <th style="width:5em;">长度kb</th>
            <!-- <th style="width:3em;">文件MD5</th> -->
            <th style="width:5em;">状态</th>
            <th style="width:4em;">异常级别</th>
            <th style="width:8em;">风险类型</th>
            <th style="width:36em;">风险说明</th>
            <!--
            <th style="width:11em;">执行开始时间</th>
            <th style="width:11em;">执行结束时间</th>
            -->
            <th style="width:4em;">执行耗时(ms)</th>
            <th style="width:4em;">影响行数</th>
        </tr>
        #for(item : items)
            <tr>
                <td #if(item.xStatus==1&&item.xLevel>2) style="color: white;background-color: red;" #end>#(item.sIndex)</td>
                <td style="text-align:left; #if(item.xStatus==1&&item.xLevel>2) color: white;background-color: red; #end ">
                    #if(item.xLocation??)
                        <a href="/sqlchecker/downloadfile?sID=#(item.rSQLFile_ID)" target="_blank">#(item.xName)</a>
                    #else
                        #(item.xName)
                    #end
                </td>
                <td style="text-align:left; #if(item.xStatus==1&&item.xLevel>2) color: white;background-color: red; #end ">#(item.xObjectName)</td>
                <td>#date(item.xDate, "yyyy-MM-dd")</td>
                <td>#date(item.xDateTime, "yyyy-MM-dd HH:mm:ss")</td>
                <td>#(item.xEncoding)</td>
                <td>#(item.xOwner)</td>
                <td>#if(item.xLen??)#number(item.xLen * 1.0 / 1024, "0.#")#end</td>
                <td>#switch(item.xStatus) #case(0) 不需要处理 #case(1) <a href="#" onclick="mark(#(item.mID),#(item.dID))"> 待处理 </a> #case(2) 已处理 #case(3) 已拒绝 #end</td>
                <td>#(item.xLevel)</td>
                <td>#switch(item.xDataType) #case(1) 无异常 #case(2) 正则校验规则拦截 #case(3) 提交冲突 #case(4) 执行失败 #case(5) 文件编码 #end</td>
                <td style="text-align:left;">#(item.xMsg)</td>
                <!--
                <td>#date(item.xBeginTime, "yyyy-MM-dd HH:mm:ss")</td>
                <td>#date(item.xEndTime, "yyyy-MM-dd HH:mm:ss")</td>
                -->
                <td>#(item.xCost)</td>
                <td> #if(item.xRowCnt?? && item.xRowCnt>0) #(item.xRowCnt) #else 0 #end</td>
            </tr>
        #end
    </table>

</div>


<div style="margin-top:2em;margin-bottom:2em;">
    <h1>更新耗时超过500毫秒</h1>
    
    <table class="gradienttable" border="1" style="width:100%;line-height:2em;">
        <tr>
            <th style="width:4em;">序号</th>
            <th style="width:6em;">文件名</th>
            <th style="width:12em;">对象名称</th>
            <th style="width:6em;">提交日期</th>
            <th style="width:11em;">最后修改时间</th>
            <th style="width:5em;">文件编码</th>
            <th style="width:5em;">提交人</th>
            <th style="width:5em;">长度kb</th>
            <!-- <th style="width:3em;">文件MD5</th> -->
            <th style="width:5em;">状态</th>
            <th style="width:4em;">异常级别</th>
            <th style="width:8em;">风险类型</th>
            <th style="width:36em;">风险说明</th>
            <!--
            <th style="width:11em;">执行开始时间</th>
            <th style="width:11em;">执行结束时间</th>
            -->
            <th style="width:4em;">执行耗时(ms)</th>
            <th style="width:4em;">影响行数</th>
        </tr>
        #for(item : costitems)
            <tr>
                <td #if(item.xStatus==1&&item.xLevel>2) style="color: white;background-color: red;" #end>#(item.sIndex)</td>
                <td style="text-align:left; #if(item.xStatus==1&&item.xLevel>2) color: white;background-color: red; #end ">
                    #if(item.xLocation??)
                        <a href="/sqlchecker/downloadfile?sID=#(item.rSQLFile_ID)" target="_blank">#(item.xName)</a>
                    #else
                        #(item.xName)
                    #end
                </td>
                <td style="text-align:left; #if(item.xStatus==1&&item.xLevel>2) color: white;background-color: red; #end ">#(item.xObjectName)</td>
                <td>#date(item.xDate, "yyyy-MM-dd")</td>
                <td>#date(item.xDateTime, "yyyy-MM-dd HH:mm:ss")</td>
                <td>#(item.xEncoding)</td>
                <td>#(item.xOwner)</td>
                <td>#if(item.xLen??)#number(item.xLen * 1.0 / 1024, "0.#")#end</td>
                <td>#switch(item.xStatus) #case(0) 不需要处理 #case(1) <a href="#" onclick="mark(#(item.mID),#(item.dID))"> 待处理 </a> #case(2) 已处理 #case(3) 已拒绝 #end</td>
                <td>#(item.xLevel)</td>
                <td>#switch(item.xDataType) #case(1) 无异常 #case(2) 正则校验规则拦截 #case(3) 提交冲突 #case(4) 执行失败 #case(5) 文件编码 #end</td>
                <td style="text-align:left;">#(item.xMsg)</td>
                <!--
                <td>#date(item.xBeginTime, "yyyy-MM-dd HH:mm:ss")</td>
                <td>#date(item.xEndTime, "yyyy-MM-dd HH:mm:ss")</td>
                -->
                <td>#(item.xCost)</td>
                <td> #if(item.xRowCnt?? && item.xRowCnt>0) #(item.xRowCnt) #else 0 #end</td>
            </tr>
        #end
    </table>
</div>



</body>
</html>